<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>文件上传与下载</title>
</head>
<body>
<h2>文件上传</h2>
<input type="file" id="fileInput" />
<button onclick="uploadFile()">上传</button>

<h2>文件下载</h2>
<button onclick="downloadFile()">下载</button>

<script>
    // 上传文件
    function uploadFile() {
        var fileInput = document.getElementById('fileInput');
        var file = fileInput.files[0];
        if (!file) {
            alert('请选择一个文件');
            return;
        }

        var xhr = new XMLHttpRequest();
        xhr.open('POST', 'http://127.0.0.1:8004/fileStream/upload', true);
        xhr.onload = function() {
            if (xhr.status === 200) {
                alert('文件上传成功！');
            } else {
                alert('文件上传失败！');
            }
        };

        // 直接发送文件的二进制数据
        xhr.send(file);
    }

    // 下载文件
    function downloadFile() {
        var fileName = prompt("请输入要下载的文件名：");
        if (!fileName) {
            alert('文件名不能为空');
            return;
        }

        var xhr = new XMLHttpRequest();
        xhr.open('GET', 'http://127.0.0.1:8004/fileStream/download?fileName=' + encodeURIComponent(fileName), true);
        xhr.responseType = 'blob'; // 设置响应类型为Blob
        xhr.onload = function() {
            if (xhr.status === 200) {
                // 创建下载链接
                var blob = new Blob([xhr.response], { type: 'application/octet-stream' });
                var link = document.createElement('a');
                link.href = window.URL.createObjectURL(blob);
                link.download = fileName;
                link.click();

                alert('文件下载成功！');
            } else {
                alert('文件下载失败！');
            }
        };
        xhr.send();
    }
</script>
</body>
</html>